import Vue from "vue";
import Router from "vue-router";

// in development-env not use lazy-loading, because lazy-loading too many pages will cause webpack hot update too slow. so only in production use lazy-loading;
// detail: https://panjiachen.github.io/vue-element-admin-site/#/lazy-loading

Vue.use(Router);

/* Layout */
import Layout from "../views/layout/Layout";
import userInfo from "../views/user/info";
import statistics from "../views/statistics/day";
// import Cookies from "js-cookie";

/**
* hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
* alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
*                                if not set alwaysShow, only more than one route under the children
*                                it will becomes nested mode, otherwise not show the root menu
* redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
* name:'router-name'             the name is used by <keep-alive> (must set!!!)
* meta : {
    title: 'title'               the name show in submenu and breadcrumb (recommend set)
    icon: 'svg-name'             the icon show in the sidebar,
  }
**/
export const constantRouterMap = [
  {
    path: "/login",
    component: () => import("@/views/login/index"),
    hidden: true
  },
  {
    path: "/",
    component: Layout,
    redirect: "/dashboard",
    name: "Dashboard",
    hidden: true,
    children: [
      {
        path: "dashboard",
        component: () => import("@/views/dashboard/index")
      }
    ]
  },

  {
    path: "/dashboard",
    component: Layout,
    redirect: "/dashboard",
    meta: { role: ["admin", "user"] },
    children: [
      {
        path: "",
        component: () => import("@/views/dashboard/index"),
        name: "dashboard",
        meta: {
          title: "首页",
          icon: "dashboard",
          noCache: true,
          role: ["admin", "user"]
        }
      }
    ]
  },

  {
    path: "/statistics",
    component: Layout,

    redirect: "/statistics/day",
    name: "statistics",
    meta: {
      title: "统计信息",
      icon: "example"
    },
    children: [
      {
        path: "user",

        name: "statisticsUser",
        component: () => import("@/views/statistics/user"),
        meta: {
          title: "下级用户",
          icon: "tree"
        }
      },
      {
        path: "day",

        name: "statisticsDay",
        component: () => import("@/views/statistics/day"),
        meta: {
          title: "今日统计",
          icon: "table"
        }
      },
      {
        path: "month",

        name: "statisticsMonth",
        component: () => import("@/views/statistics/month"),
        meta: {
          title: "本月统计",
          icon: "tree"
        }
      }
    ]
  },

  {
    path: "/user",
    component: Layout,
    redirect: "/user/info",
    name: "userInfo",
    meta: {
      title: "用户信息",
      icon: "people"
    },
    children: [
      {
        path: "info",
        name: "userinfo",
        component: () => import("@/views/user/info"),
        meta: {
          title: "我的信息",
          icon: "user"
        }
      },
      {
        path: "list",
        name: "listuser",
        component: () => import("@/views/user/list"),
        meta: {
          title: "全部用户",
          icon: "table"
        }
      },
      {
        path: "statistics",
        name: "statisticsuser",
        component: () => import("@/views/user/statistics"),
        meta: {
          title: "用户统计",
          icon: "table"
        }
      }

      /*      {
        path: "add",

        name: "adduser",

        component: () => import("@/views/user/add"),
        meta: {
          title: "添加用户",
          icon: "table"
        }
      }
      
      ,{
        path: "edit",
        name: "edituser",
        component: () => import("@/views/user/edit"),
        meta: {
          title: "修改用户",
          icon: "tree"
        }
      }
*/
    ]
  },

  {
    path: "/user",
    component: Layout,
    redirect: "/user/share",
    name: "share",
    meta: {
      title: "平台分享",
      icon: "drag",
      role: ["admin", "user"]
    },
    children: [
      {
        path: "share",
        name: "shareto",
        component: () => import("@/views/user/share"),
        meta: {
          title: "平台分享",
          icon: "drag",
          role: ["admin", "user"]
        }
      }
    ]
  },

  {
    path: "/exchange",
    component: Layout,
    redirect: "/exchange/index",
    name: "exchange",
    meta: {
      title: "积分兑换",
      icon: "shoppingCard",
      role: ["admin", "user"]
    },
    children: [
      {
        path: "index",
        name: "exchange",
        component: () => import("@/views/exchange/index"),
        meta: {
          title: "积分兑换",
          icon: "shoppingCard",
          role: ["admin", "user"]
        }
      }
    ]
  },

  {
    path: "/logout",
    component: Layout,
    redirect: "/user/logout",
    meta: { role: ["admin", "user"] },
    children: [
      {
        path: "logout",
        component: () => import("@/views/user/logout"),
        name: "logout",
        meta: {
          title: "退出",
          icon: "lock",
          noCache: true,
          role: ["admin", "user"]
        }
      }
    ]
  },

  {
    path: "/404",
    component: () => import("@/views/404"),
    hidden: true
  },

  /*
  {
    path: '/example',
    component: Layout,
    redirect: '/example/table',
    name: 'Example',
    meta: {
      title: 'Example',
      icon: 'example'
    },
    children: [{
        path: 'table',
        name: 'Table',
        component: () =>
          import ('@/views/table/index'),
        meta: {
          title: 'Table',
          icon: 'table'
        }
      },
      {
        path: 'tree',
        name: 'Tree',
        component: () =>
          import ('@/views/tree/index'),
        meta: {
          title: 'Tree',
          icon: 'tree'
        }
      }
    ]
  },

  {
    path: '/form',
    component: Layout,
    children: [{
      path: 'index',
      name: 'Form',
      component: () =>
        import ('@/views/form/index'),
      meta: {
        title: 'Form',
        icon: 'form'
      }
    }]
  },
*/

  {
    path: "*",
    redirect: "/404",
    hidden: true
  }
];

export default new Router({
  // mode: 'history', //后端支持可开
  scrollBehavior: () => ({
    y: 0
  }),
  routes: constantRouterMap
});
